package com.ruoyi.service;

import com.ruoyi.domain.Course;
import com.ruoyi.domain.CourseHobby;
import com.ruoyi.domain.CourseStudyExperience;

import java.util.List;


/**
 * 【请填写功能名称】Service接口
 * 
 * @author ruoyi
 * @date 2024-04-22
 */
public interface ICourseService 
{
    /**
     * 查询【请填写功能名称】
     * 
     * @param courseId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public Course selectCourseByCourseId(Long courseId);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param course 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<Course> selectCourseList(Course course);

    /**
     * 新增【请填写功能名称】
     * 
     * @param course 【请填写功能名称】
     * @return 结果
     */
    public int insertCourse(Course course);

    /**
     * 修改【请填写功能名称】
     * 
     * @param course 【请填写功能名称】
     * @return 结果
     */
    public int updateCourse(Course course);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param courseIds 需要删除的【请填写功能名称】主键集合
     * @return 结果
     */
    public int deleteCourseByCourseIds(Long[] courseIds);

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param courseId 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteCourseByCourseId(Long courseId);
    Double selectTeachAvg(String name);
    Integer selectCourseIdByCourseName(String courseName);
    List<Course> getAllBySelect(Long studentId, String courseName, String teachName);

    List<Course> getAllBySelected(Long studentId, String courseName, String teachName);

    List<Course> getAddedCourse(String courseName,String teachName);

    void unAddedCourse(Long courseId);

    List<Course> getUnAddedCourse(String courseName,String teachName);

    void addedCourse(Long courseId);

    List<Course> getRecommCourse(Long studentId, String hobby, String studyExperience,String courseName,String teachName);

    List<CourseHobby> getHobbyType();

    List<CourseStudyExperience> getStudyExperienceType();
}
